Внешний курс. Раздел 1

Артём Дмитриевич Петлин

Российский университет дружбы народов

2025-11-21

Информация

Докладчик

Цель работы

Цель работы

Выполнить первый раздел внешнего курса “Системный администратор Linux с нуля”.

Задание

Задание

Задания первого, второго и третьего модулей, а также тесты.

Теоретическое введение

Теоретическое введение

  • Модуль 1. Введение в системное администрирование
  • Модуль 2. Базовые команды Linux
  • Модуль 3. Файлы и каталоги

Выполнение практических заданий

Ход работы

Рисунок 1: модуль 2

Устанавливаем утилиту htop.

Ход работы

Запускаем htop и сортируем процессы по использованию оперативной памяти.

Рисунок 2: модуль 2

Ход работы

Рисунок 3: модуль 2

Узнаем, сколько осталось свободного места на диске.

Ход работы

В каталоге /var находим подкаталоги, занимающие больше всего места.

Рисунок 4: модуль 2

Ход работы

Читаем из системного журнала последние сообщения, связанные с ядром (kernel).

Рисунок 5: модуль 2

Ход работы

Проверяем состояние SSH.

Рисунок 6: модуль 2

Ход работы

Рисунок 7: модуль 2

Получаем список всех активных служб.

Ход работы

Рисунок 8: модуль 2

Находим конфигурационный файл сервиса SSH. Открываем его с помощью текстового редактора, например nano, и просматриваем, какие настройки там указаны.

Ход работы

Рисунок 9: модуль 2

Просматриваем, какие журналы есть в системе.

Ход работы

Рисунок 10: модуль 2

Просатриваем последние двадцать записей в системном журнале.

Ход работы

Рисунок 11: модуль 2

Узнаём, используются ли в системе «сторонние» приложения, не управляемые пакетным менеджером.

Ход работы

Рисунок 12: модуль 2

Представляем, что в системе установлен веб-сервер Nginx и нам нужно выполнить его перенастройку. Переходим в каталог с конфигурациями, находим файл с основными настройками, делаем резервную копию перед изменениями, открываем файл для редактирования, после изменений перезапускаем сервис.

Ход работы

Рисунок 13: модуль 2

Получаем информацию о процессоре.

Ход работы

Запрашиваем данные об использовании памяти. Обращаем внимание на поля: MemTotal, MemFree, Buffers и другие.

Рисунок 14: модуль 2

Ход работы

Просматриваем список файлов в каталоге /dev.

Рисунок 15: модуль 2

Ход работы

Рисунок 16: модуль 2

Узнаем текущий каталог. Переходим в домашний каталог и получаем список всех файлов, включая скрытые. Смотрим последние десять записей в системном журнале syslog, связанных с сервисом systemd.

Ход работы

Рисунок 17: модуль 3

Создаем каталог project, внутри которого создаем несколько подкаталогов: logs, data и backup.

Ход работы

Создаем текстовые файлы: error.log в каталоге ~/project/logs/ и info.txt в каталоге ~/project/data/. После этого проверяем, что файлы созданы.

Рисунок 18: модуль 3

Ход работы

Рисунок 19: модуль 3

Копируем файл info.txt из каталога ~/project/data в папку ~/project/backup.

Ход работы

Рисунок 20: модуль 3

Перемещаем файл error.log из каталога ~/project/logs/ в папку ~/project/data/.

Ход работы

Рисунок 21: модуль 3

Удаляем папку project вместе со всем содержимым.

Ход работы

Рисунок 22: модуль 3

Создаем архив archive_test.tar.gz методами tar и gzip, внутри которого помещаем три файла: file1.txt, file2.txt, file3.txt.

Ход работы

Извлекаем архив archive_test.tar.gz в директорию ~/extracted.

Рисунок 23: модуль 3

Ход работы

Рисунок 24: модуль 3

Передаем архив archive_test.tar.gz с локального компьютера на сервер в папку backups. Используем IP-адрес 192.168.1.10 и имя пользователя user.

Ход работы

Создаем скрипт clean_logs.sh, который будет архивировать все логи в директории /var/log.

Рисунок 25: модуль 3

Ход работы

Рисунок 26: модуль 3

Делаем скрипт исполняемым и запускаем его.

Ход работы

Рисунок 27: модуль 3

Автоматизируем запуск скрипта с помощью cron. Настраиваем запуск скрипта clean_logs.sh в первый день каждого месяца в 3:30 утра.

Выполнение тестовых заданий

Тестовые задания

Потому что свобода, определяющая свободное ПО, — это свобода изучать, изменять и улучшать программу.

Рисунок 28: тест 1

Тестовые задания

Zabbix, так как это специализированная, мощная и широко распространенная система мониторинга.

Рисунок 29: тест 1

Тестовые задания

Ключевая задача системного администратора — это обеспечение стабильности и доступности IT-инфраструктуры.

Рисунок 30: тест 1

Тестовые задания

Bash является самой распространенной и стандартной командной оболочкой в большинстве дистрибутивов Linux.

Рисунок 31: тест 2

Тестовые задания

Man, если нам требуется получить наиболее полную и структурированную справочную информацию о команде, утилите или системном вызове.

Рисунок 32: тест 2

Тестовые задания

Мы повышаем привилегии, когда необходимо выполнить действие, затрагивающее работу всей системы или других пользователей.

Рисунок 33: тест 2

Тестовые задания

Мы отказываемся от графического интерфейса на серверах, потому что это позволяет нам направить все вычислительные ресурсы на выполнение основных сервисных задач, а не на рендеринг графики.

Рисунок 34: тест 3

Тестовые задания

Мы используем SSH, так как этот протокол обеспечивает нам шифрованное сетевое соединение для безопасного удаленного управления серверами.

Рисунок 35: тест 3

Тестовые задания

Мы различаем эти понятия следующим образом: Терминал — это программа, которая предоставляет нам текстовый интерфейс для ввода команд и вывода результатов. Оболочка — это командный интерпретатор, который работает внутри терминала, читает введенные нами команды, выполняет их и возвращает результат.

Рисунок 36: тест 3

Тестовые задания

Мы знаем, что каталог /etc является стандартным местом хранения глобальных конфигурационных файлов системы и установленных программ.

Рисунок 37: тест 4

Тестовые задания

Мы обращаемся к каталогу /var/log, поскольку он специально предназначен для хранения постоянно растущих файлов, к которым относятся логи.

Рисунок 38: тест 4

Тестовые задания

Мы используем каталог /opt для установки стороннего проприетарного программного обеспечения или больших программных пакетов, которые поставляются в виде самостоятельных сборок и не управляются пакетным менеджером дистрибутива.

Рисунок 39: тест 4

Тестовые задания

Мы рассматриваем каталог /dev как виртуальную файловую систему, в которой ядро Linux представляет все физические и виртуальные устройства в виде специальных файлов.

Рисунок 40: тест 5

Тестовые задания

Мы используем виртуальную файловую систему /proc как окно в ядро системы.

Рисунок 41: тест 5

Тестовые задания

Мы применяем команду cat для просмотра содержимого виртуальных файлов в /proc и /dev, потому что она работает с любыми файлами, просто выводя их содержимое в стандартный вывод.

Рисунок 42: тест 5

Тестовые задания

Мы используем команду pwd, чтобы точно определить, в каком каталоге мы сейчас находимся. Это базовая команда для навигации и ориентации в файловой системе. Мы используем флаг -a с командой ls, чтобы отобразить все файлы, включая скрытые, имена которых начинаются с точки. Мы используем относительный путь. Поскольку мы уже находимся в каталоге /etc, то для перехода в его подкаталог apache2 нам достаточно команды cd apache2.

Рисунок 43: тест 6

Тестовые задания

Мы используем символ тильды (~) как сокращение, которое оболочка автоматически расширяет до абсолютного пути к домашнему каталогу текущего пользователя. Мы строим такой конвейер, когда нам нужно отфильтровать подробный вывод команды ls -l и оставить только те строки, в которых встречается подстрока “ssh”.

Рисунок 44: тест 6

Тестовые задания

Мы используем команду tar с ключами -c, -z и -f для создания сжатого tarball-архива из указанной папки. Мы используем команду tar с ключами -x, -z и -f для распаковки сжатого tarball-архива. Мы используем команду scp с ключом -r для безопасного копирования всей папки вместе с её содержимым по SSH на удаленный сервер.

Рисунок 45: тест 7

Тестовые задания

Мы используем команду chmod с ключом +x, чтобы дать текущему пользователю право запускать файл как программу или скрипт. Мы используем символ # в скриптах на Bash и многих других языках сценарного программирования, чтобы обозначить начало комментария. Мы используем эту команду find для поиска в каталоге /var/log файлов, измененных более 7 дней назад, и для каждого найденного файла выполняем команду его принудительного удаления.

Рисунок 46: тест 8

Оценки тестов

Оценка за тест

Рисунок 47

Оценка за тест

Рисунок 48

Оценка за тест

Рисунок 49

Оценка за тест

Рисунок 50

Оценка за тест

Рисунок 51

Оценка за тест

Рисунок 52

Оценка за тест

Рисунок 53

Оценка за тест

Рисунок 54

Выводы

Выводы

Мы выполнили первый раздел внешнего курса “Системный администратор Linux с нуля”.

Список литературы

Список литературы

  1. https://study.selectel.ru/members/courses/course756726784647